package com.rla.domain.vo;

import java.math.BigDecimal;
import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.rla.common.annotation.ExcelDictFormat;
import com.rla.common.convert.ExcelDictConvert;
import lombok.Data;


/**
 * 订单售后信息视图对象 mall_order_after
 *
 * @author rla
 * @date 2025-09-05
 */
@Data
@ExcelIgnoreUnannotated
public class MallOrderAfterVo {

    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    @ExcelProperty(value = "订单id")
    private String orderId;

    /**
     * 申请类型（0、仅退款，1、退货退款）
     */
    @ExcelProperty(value = "申请类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=、仅退款，1、退货退款")
    private String applyType;

    /**
     * 申请原因
     */
    @ExcelProperty(value = "申请原因")
    private String applyReason;

    /**
     * 退货数量
     */
    @ExcelProperty(value = "退货数量")
    private Long refundNum;

    /**
     * 退货金额
     */
    @ExcelProperty(value = "退货金额")
    private BigDecimal applyAmount;

    /**
     * 申请说明
     */
    @ExcelProperty(value = "申请说明")
    private String applyInstructions;

    /**
     * 退货方式（目前仅上门取件）
     */
    @ExcelProperty(value = "退货方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "目=前仅上门取件")
    private String refundWay;

    /**
     * 收货方式
     */
    @ExcelProperty(value = "收货方式")
    private String receiptWay;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remark;

    /**
     * 所属部门
     */
    @ExcelProperty(value = "所属部门")
    private String department;

    /**
     * 所属业务
     */
    @ExcelProperty(value = "所属业务")
    private String business;

    /**
     * 审核结果
     */
    @ExcelProperty(value = "审核结果")
    private String reviewResult;

    /**
     * 申请原因
     */
    @ExcelProperty(value = "申请原因")
    private String reviewReason;

    /**
     * 是否退款
     */
    @ExcelProperty(value = "是否退款")
    private String isRefund;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcCreatedate;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcLastmodifier;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcLastmodifydate;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String isReport;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcCreator;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private String fgcUpdatehelp;

    /**
     * $column.columnComment
     */
    @ExcelProperty(value = "${comment}", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "$column.readConverterExp()")
    private Date fgcRowversion;


}
